home *** CD-ROM | disk | FTP | other *** search
Text File | 2010-05-14 | 87.9 KB | 2,558 lines |
- package mx.core
- {
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.InteractiveObject;
- import flash.display.Shape;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.KeyboardEvent;
- import flash.events.MouseEvent;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import flash.system.ApplicationDomain;
- import flash.text.TextField;
- import flash.ui.Keyboard;
- import mx.binding.BindingManager;
- import mx.controls.Button;
- import mx.controls.HScrollBar;
- import mx.controls.VScrollBar;
- import mx.controls.listClasses.IListItemRenderer;
- import mx.controls.scrollClasses.ScrollBar;
- import mx.events.ChildExistenceChangedEvent;
- import mx.events.FlexEvent;
- import mx.events.IndexChangedEvent;
- import mx.events.ScrollEvent;
- import mx.events.ScrollEventDetail;
- import mx.events.ScrollEventDirection;
- import mx.graphics.RoundedRectangle;
- import mx.managers.IFocusManager;
- import mx.managers.IFocusManagerContainer;
- import mx.managers.ILayoutManagerClient;
- import mx.managers.ISystemManager;
- import mx.resources.ResourceBundle;
- import mx.skins.RectangularBorder;
- import mx.styles.CSSStyleDeclaration;
- import mx.styles.ISimpleStyleClient;
- import mx.styles.IStyleClient;
- import mx.styles.StyleManager;
- import mx.styles.StyleProtoChain;
-
- use namespace mx_internal;
-
- public class Container extends UIComponent implements IContainer, IDataRenderer, IFocusManagerContainer, IListItemRenderer, IRawChildrenContainer
- {
- private static var resourceMultipleChildSets_ClassAndInstance:String;
-
- private static var resourceMultipleChildSets_ClassAndSubclass:String;
-
- private static var resourceScrollDirection:String;
-
- mx_internal static const VERSION:String = "2.0.1.0";
-
- private static const MULTIPLE_PROPERTIES:String = "<MULTIPLE>";
-
- private static var packageResources:ResourceBundle = ResourceBundle.getResourceBundle("core",ApplicationDomain.currentDomain);
-
- loadResources();
-
- private var _horizontalLineScrollSize:Number = 5;
-
- mx_internal var border:IFlexDisplayObject;
-
- private var _viewMetricsAndPadding:EdgeMetrics;
-
- private var scrollableWidth:Number = 0;
-
- private var _rawChildren:ContainerRawChildrenList;
-
- private var _data:Object;
-
- private var _viewMetrics:EdgeMetrics;
-
- private var changedStyles:String = null;
-
- private var _verticalPageScrollSize:Number = 0;
-
- private var mouseEventReferenceCount:int = 0;
-
- protected var whiteBox:Shape;
-
- private var _verticalScrollBar:ScrollBar;
-
- private var _horizontalPageScrollSize:Number = 0;
-
- private var _clipContent:Boolean = true;
-
- private var _icon:Class = null;
-
- mx_internal var doingLayout:Boolean = false;
-
- private var _createdComponents:Array;
-
- private var _firstChildIndex:int = 0;
-
- private var scrollableHeight:Number = 0;
-
- mx_internal var _numChildren:int = 0;
-
- private var recursionFlag:Boolean = true;
-
- private var forceLayout:Boolean = false;
-
- mx_internal var blocker:Sprite;
-
- private var _label:String = "";
-
- private var _numChildrenCreated:int = -1;
-
- protected var actualCreationPolicy:String;
-
- private var _childRepeaters:Array;
-
- private var _childDescriptors:Array;
-
- private var scrollPropertiesChanged:Boolean = false;
-
- private var scrollPositionChanged:Boolean = true;
-
- private var _focusPane:Sprite;
-
- private var _defaultButton:IFlexDisplayObject;
-
- private var _forceClippingCount:int;
-
- mx_internal var creatingContentPane:Boolean = false;
-
- private var _creationPolicy:String;
-
- private var _creationIndex:int = -1;
-
- private var _verticalScrollPosition:Number = 0;
-
- private var _autoLayout:Boolean = true;
-
- private var _horizontalScrollBar:ScrollBar;
-
- private var viewableHeight:Number = 0;
-
- private var viewableWidth:Number = 0;
-
- mx_internal var contentPane:Sprite = null;
-
- private var numChildrenBefore:int;
-
- private var _verticalLineScrollSize:Number = 5;
-
- private var _horizontalScrollPosition:Number = 0;
-
- mx_internal var _horizontalScrollPolicy:String = "auto";
-
- private var verticalScrollPositionPending:Number;
-
- mx_internal var _verticalScrollPolicy:String = "auto";
-
- private var horizontalScrollPositionPending:Number;
-
- public function Container()
- {
- recursionFlag = true;
- forceLayout = false;
- mx_internal::doingLayout = false;
- changedStyles = null;
- mx_internal::creatingContentPane = false;
- mx_internal::contentPane = null;
- scrollPropertiesChanged = false;
- scrollPositionChanged = true;
- scrollableWidth = 0;
- scrollableHeight = 0;
- viewableWidth = 0;
- viewableHeight = 0;
- mouseEventReferenceCount = 0;
- mx_internal::_numChildren = 0;
- _autoLayout = true;
- _clipContent = true;
- _creationIndex = -1;
- _firstChildIndex = 0;
- _horizontalLineScrollSize = 5;
- _horizontalPageScrollSize = 0;
- _horizontalScrollPosition = 0;
- mx_internal::_horizontalScrollPolicy = ScrollPolicy.AUTO;
- _icon = null;
- _label = "";
- _numChildrenCreated = -1;
- _verticalLineScrollSize = 5;
- _verticalPageScrollSize = 0;
- _verticalScrollPosition = 0;
- mx_internal::_verticalScrollPolicy = ScrollPolicy.AUTO;
- super();
- tabChildren = true;
- tabEnabled = false;
- showInAutomationHierarchy = false;
- }
-
- private static function loadResources() : void
- {
- resourceScrollDirection = packageResources.getString("scrollDirection");
- resourceMultipleChildSets_ClassAndInstance = packageResources.getString("multipleChildSets_ClassAndInstance");
- resourceMultipleChildSets_ClassAndSubclass = packageResources.getString("multipleChildSets_ClassAndSubclass");
- }
-
- mx_internal static function checkFocus(param1:InteractiveObject, param2:InteractiveObject) : void
- {
- var _loc3_:InteractiveObject = null;
- var _loc4_:InteractiveObject = null;
- var _loc5_:IUIComponent = null;
- var _loc6_:IFocusManager = null;
- var _loc7_:Button = null;
- _loc3_ = param2;
- _loc4_ = param2;
- _loc5_ = null;
- if(param2 != null && param1 == param2)
- {
- return;
- }
- while(_loc4_)
- {
- if(_loc4_.parent)
- {
- _loc3_ = _loc4_.parent;
- }
- else
- {
- _loc3_ = null;
- }
- if(_loc4_ is IUIComponent)
- {
- _loc5_ = IUIComponent(_loc4_);
- }
- _loc4_ = _loc3_;
- if((_loc4_) && _loc4_ is Container && Boolean(Container(_loc4_).defaultButton))
- {
- break;
- }
- }
- if(ContainerGlobals.focusedContainer != _loc4_)
- {
- if(!_loc4_)
- {
- _loc4_ = InteractiveObject(_loc5_);
- }
- if(Boolean(_loc4_) && _loc4_ is Container)
- {
- _loc6_ = UIComponent(_loc4_).focusManager;
- _loc7_ = Container(_loc4_).defaultButton as Button;
- if(_loc7_)
- {
- ContainerGlobals.focusedContainer = Container(_loc4_);
- _loc6_.defaultButton = _loc7_;
- }
- else
- {
- ContainerGlobals.focusedContainer = Container(_loc4_);
- _loc6_.defaultButton = null;
- }
- }
- }
- }
-
- mx_internal function get firstChildIndex() : int
- {
- return _firstChildIndex;
- }
-
- mx_internal function rawChildren_getObjectsUnderPoint(param1:Point) : Array
- {
- return super.getObjectsUnderPoint(param1);
- }
-
- protected function scrollChildren() : void
- {
- var _loc1_:EdgeMetrics = null;
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- var _loc6_:Rectangle = null;
- if(!mx_internal::contentPane)
- {
- return;
- }
- _loc1_ = viewMetrics;
- _loc2_ = 0;
- _loc3_ = 0;
- _loc4_ = unscaledWidth - _loc1_.left - _loc1_.right;
- _loc5_ = unscaledHeight - _loc1_.top - _loc1_.bottom;
- if(_clipContent)
- {
- _loc2_ += _horizontalScrollPosition;
- if(horizontalScrollBar)
- {
- _loc4_ = viewableWidth;
- }
- _loc3_ += _verticalScrollPosition;
- if(verticalScrollBar)
- {
- _loc5_ = viewableHeight;
- }
- }
- else
- {
- _loc4_ = scrollableWidth;
- _loc5_ = scrollableHeight;
- }
- _loc6_ = mx_internal::getScrollableRect();
- if(_loc2_ == 0 && _loc3_ == 0 && _loc4_ >= _loc6_.right && _loc5_ >= _loc6_.bottom && _loc6_.left >= 0 && _loc6_.top >= 0 && _forceClippingCount <= 0)
- {
- mx_internal::contentPane.scrollRect = null;
- mx_internal::contentPane.opaqueBackground = null;
- mx_internal::contentPane.cacheAsBitmap = false;
- }
- else
- {
- mx_internal::contentPane.scrollRect = new Rectangle(_loc2_,_loc3_,_loc4_,_loc5_);
- }
- if(focusPane)
- {
- focusPane.scrollRect = mx_internal::contentPane.scrollRect;
- }
- if(mx_internal::border && mx_internal::border is RectangularBorder && RectangularBorder(mx_internal::border).mx_internal::hasBackgroundImage)
- {
- RectangularBorder(mx_internal::border).mx_internal::adjustBackgroundImage();
- }
- }
-
- mx_internal function get createdComponents() : Array
- {
- return _createdComponents;
- }
-
- public function get childDescriptors() : Array
- {
- return _childDescriptors;
- }
-
- [Bindable("viewChanged")]
- [Bindable("scroll")]
- public function get verticalScrollPosition() : Number
- {
- if(!isNaN(verticalScrollPositionPending))
- {
- return verticalScrollPositionPending;
- }
- return _verticalScrollPosition;
- }
-
- mx_internal function set createdComponents(param1:Array) : void
- {
- _createdComponents = param1;
- }
-
- mx_internal function get childRepeaters() : Array
- {
- return _childRepeaters;
- }
-
- [Bindable("viewChanged")]
- [Bindable("scroll")]
- public function get horizontalScrollPosition() : Number
- {
- if(!isNaN(horizontalScrollPositionPending))
- {
- return horizontalScrollPositionPending;
- }
- return _horizontalScrollPosition;
- }
-
- override public function get focusPane() : Sprite
- {
- return _focusPane;
- }
-
- private function createOrDestroyScrollbars(param1:Boolean, param2:Boolean, param3:Boolean) : Boolean
- {
- var _loc4_:Boolean = false;
- var _loc5_:IFocusManager = null;
- var _loc6_:String = null;
- var _loc7_:String = null;
- var _loc8_:Graphics = null;
- _loc4_ = false;
- if(param1 || param2 || param3)
- {
- mx_internal::createContentPane();
- }
- if(param1)
- {
- if(!horizontalScrollBar)
- {
- horizontalScrollBar = new HScrollBar();
- horizontalScrollBar.name = "horizontalScrollBar";
- _loc6_ = getStyle("horizontalScrollBarStyleName");
- if((Boolean(_loc6_)) && horizontalScrollBar is ISimpleStyleClient)
- {
- ISimpleStyleClient(horizontalScrollBar).styleName = _loc6_;
- }
- rawChildren.addChild(DisplayObject(horizontalScrollBar));
- horizontalScrollBar.lineScrollSize = horizontalLineScrollSize;
- horizontalScrollBar.pageScrollSize = horizontalPageScrollSize;
- horizontalScrollBar.addEventListener(ScrollEvent.SCROLL,horizontalScrollBar_scrollHandler);
- horizontalScrollBar.enabled = enabled;
- if(horizontalScrollBar is IInvalidating)
- {
- IInvalidating(horizontalScrollBar).validateNow();
- }
- invalidateDisplayList();
- mx_internal::invalidateViewMetricsAndPadding();
- _loc4_ = true;
- if(!verticalScrollBar)
- {
- addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
- }
- }
- }
- else if(horizontalScrollBar)
- {
- horizontalScrollBar.removeEventListener(ScrollEvent.SCROLL,horizontalScrollBar_scrollHandler);
- rawChildren.removeChild(DisplayObject(horizontalScrollBar));
- horizontalScrollBar = null;
- viewableWidth = scrollableWidth = 0;
- if(_horizontalScrollPosition != 0)
- {
- _horizontalScrollPosition = 0;
- scrollPositionChanged = true;
- }
- invalidateDisplayList();
- mx_internal::invalidateViewMetricsAndPadding();
- _loc4_ = true;
- _loc5_ = focusManager;
- if(!verticalScrollBar && (!_loc5_ || _loc5_.getFocus() != this))
- {
- removeEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
- }
- }
- if(param2)
- {
- if(!verticalScrollBar)
- {
- verticalScrollBar = new VScrollBar();
- verticalScrollBar.name = "verticalScrollBar";
- _loc7_ = getStyle("verticalScrollBarStyleName");
- if((Boolean(_loc7_)) && verticalScrollBar is ISimpleStyleClient)
- {
- ISimpleStyleClient(verticalScrollBar).styleName = _loc7_;
- }
- rawChildren.addChild(DisplayObject(verticalScrollBar));
- verticalScrollBar.lineScrollSize = verticalLineScrollSize;
- verticalScrollBar.pageScrollSize = verticalPageScrollSize;
- verticalScrollBar.addEventListener(ScrollEvent.SCROLL,verticalScrollBar_scrollHandler);
- verticalScrollBar.enabled = enabled;
- if(verticalScrollBar is IInvalidating)
- {
- IInvalidating(verticalScrollBar).validateNow();
- }
- invalidateDisplayList();
- mx_internal::invalidateViewMetricsAndPadding();
- _loc4_ = true;
- if(!horizontalScrollBar)
- {
- addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
- }
- addEventListener(MouseEvent.MOUSE_WHEEL,mouseWheelHandler);
- }
- }
- else if(verticalScrollBar)
- {
- verticalScrollBar.removeEventListener(ScrollEvent.SCROLL,verticalScrollBar_scrollHandler);
- rawChildren.removeChild(DisplayObject(verticalScrollBar));
- verticalScrollBar = null;
- viewableHeight = scrollableHeight = 0;
- if(_verticalScrollPosition != 0)
- {
- _verticalScrollPosition = 0;
- scrollPositionChanged = true;
- }
- invalidateDisplayList();
- mx_internal::invalidateViewMetricsAndPadding();
- _loc4_ = true;
- _loc5_ = focusManager;
- if(!horizontalScrollBar && (!_loc5_ || _loc5_.getFocus() != this))
- {
- removeEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
- }
- removeEventListener(MouseEvent.MOUSE_WHEEL,mouseWheelHandler);
- }
- if(Boolean(horizontalScrollBar) && Boolean(verticalScrollBar))
- {
- if(!whiteBox)
- {
- whiteBox = new FlexShape();
- whiteBox.name = "whiteBox";
- _loc8_ = whiteBox.graphics;
- _loc8_.beginFill(16777215);
- _loc8_.drawRect(0,0,verticalScrollBar.minWidth,horizontalScrollBar.minHeight);
- _loc8_.endFill();
- rawChildren.addChild(whiteBox);
- }
- }
- else if(whiteBox)
- {
- rawChildren.removeChild(whiteBox);
- whiteBox = null;
- }
- return _loc4_;
- }
-
- override protected function keyDownHandler(param1:KeyboardEvent) : void
- {
- var _loc2_:Object = null;
- var _loc3_:String = null;
- var _loc4_:Number = NaN;
- _loc2_ = getFocus();
- if(_loc2_ is TextField)
- {
- return;
- }
- if(verticalScrollBar)
- {
- _loc3_ = ScrollEventDirection.VERTICAL;
- _loc4_ = verticalScrollPosition;
- switch(param1.keyCode)
- {
- case Keyboard.DOWN:
- verticalScrollPosition += verticalLineScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.LINE_DOWN);
- param1.stopPropagation();
- break;
- case Keyboard.UP:
- verticalScrollPosition -= verticalLineScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.LINE_UP);
- param1.stopPropagation();
- break;
- case Keyboard.PAGE_UP:
- verticalScrollPosition -= verticalPageScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.PAGE_UP);
- param1.stopPropagation();
- break;
- case Keyboard.PAGE_DOWN:
- verticalScrollPosition += verticalPageScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.PAGE_DOWN);
- param1.stopPropagation();
- break;
- case Keyboard.HOME:
- verticalScrollPosition = verticalScrollBar.minScrollPosition;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.AT_TOP);
- param1.stopPropagation();
- break;
- case Keyboard.END:
- verticalScrollPosition = verticalScrollBar.maxScrollPosition;
- dispatchScrollEvent(_loc3_,_loc4_,verticalScrollPosition,ScrollEventDetail.AT_BOTTOM);
- param1.stopPropagation();
- }
- }
- if(horizontalScrollBar)
- {
- _loc3_ = ScrollEventDirection.HORIZONTAL;
- _loc4_ = horizontalScrollPosition;
- switch(param1.keyCode)
- {
- case Keyboard.LEFT:
- horizontalScrollPosition -= horizontalLineScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,horizontalScrollPosition,ScrollEventDetail.LINE_LEFT);
- param1.stopPropagation();
- break;
- case Keyboard.RIGHT:
- horizontalScrollPosition += horizontalLineScrollSize;
- dispatchScrollEvent(_loc3_,_loc4_,horizontalScrollPosition,ScrollEventDetail.LINE_RIGHT);
- param1.stopPropagation();
- }
- }
- }
-
- protected function createBorder() : void
- {
- var _loc1_:Class = null;
- if(!mx_internal::border && isBorderNeeded())
- {
- _loc1_ = getStyle("borderSkin");
- mx_internal::border = new _loc1_();
- mx_internal::border.name = "border";
- if(mx_internal::border is IUIComponent)
- {
- IUIComponent(mx_internal::border).enabled = enabled;
- }
- if(mx_internal::border is ISimpleStyleClient)
- {
- ISimpleStyleClient(mx_internal::border).styleName = this;
- }
- rawChildren.addChildAt(DisplayObject(mx_internal::border),0);
- invalidateDisplayList();
- }
- }
-
- public function set verticalScrollPosition(param1:Number) : void
- {
- if(_verticalScrollPosition == param1)
- {
- return;
- }
- _verticalScrollPosition = param1;
- scrollPositionChanged = true;
- if(!initialized)
- {
- verticalScrollPositionPending = param1;
- }
- invalidateDisplayList();
- dispatchEvent(new Event("viewChanged"));
- }
-
- private function horizontalScrollBar_scrollHandler(param1:Event) : void
- {
- var _loc2_:Number = NaN;
- if(param1 is ScrollEvent)
- {
- _loc2_ = horizontalScrollPosition;
- horizontalScrollPosition = horizontalScrollBar.scrollPosition;
- dispatchScrollEvent(ScrollEventDirection.HORIZONTAL,_loc2_,horizontalScrollPosition,ScrollEvent(param1).detail);
- }
- }
-
- [Bindable("iconChanged")]
- public function get icon() : Class
- {
- return _icon;
- }
-
- public function set horizontalScrollBar(param1:ScrollBar) : void
- {
- _horizontalScrollBar = param1;
- }
-
- mx_internal function set childRepeaters(param1:Array) : void
- {
- _childRepeaters = param1;
- }
-
- public function createComponentFromDescriptor(param1:ComponentDescriptor, param2:Boolean) : IFlexDisplayObject
- {
- var _loc3_:UIComponentDescriptor = null;
- var _loc4_:Object = null;
- var _loc5_:Class = null;
- var _loc6_:IDeferredInstantiationUIComponent = null;
- var _loc7_:String = null;
- var _loc8_:Object = null;
- var _loc9_:Array = null;
- var _loc10_:IRepeaterClient = null;
- var _loc11_:IStyleClient = null;
- var _loc12_:String = null;
- var _loc13_:String = null;
- _loc3_ = UIComponentDescriptor(param1);
- _loc4_ = _loc3_.properties;
- if((numChildrenBefore != 0 || mx_internal::numChildrenCreated != -1) && _loc3_.mx_internal::instanceIndices == null && hasChildMatchingDescriptor(_loc3_))
- {
- return null;
- }
- UIComponentGlobals.mx_internal::layoutManager.usePhasedInstantiation = true;
- _loc5_ = _loc3_.type;
- _loc6_ = new _loc5_();
- _loc6_.id = _loc3_.id;
- if(Boolean(_loc6_.id) && _loc6_.id != "")
- {
- _loc6_.name = _loc6_.id;
- }
- _loc6_.descriptor = _loc3_;
- if(Boolean(_loc4_.childDescriptors) && _loc6_ is Container)
- {
- Container(_loc6_)._childDescriptors = _loc4_.childDescriptors;
- delete _loc4_.childDescriptors;
- }
- for(_loc7_ in _loc4_)
- {
- _loc6_[_loc7_] = _loc4_[_loc7_];
- }
- if(_loc6_ is Container)
- {
- Container(_loc6_).recursionFlag = param2;
- }
- if(_loc3_.mx_internal::instanceIndices)
- {
- if(_loc6_ is IRepeaterClient)
- {
- _loc10_ = IRepeaterClient(_loc6_);
- _loc10_.instanceIndices = _loc3_.mx_internal::instanceIndices;
- _loc10_.repeaters = _loc3_.mx_internal::repeaters;
- _loc10_.repeaterIndices = _loc3_.mx_internal::repeaterIndices;
- }
- }
- if(_loc6_ is IStyleClient)
- {
- _loc11_ = IStyleClient(_loc6_);
- if(_loc3_.stylesFactory != null)
- {
- if(!_loc11_.styleDeclaration)
- {
- _loc11_.styleDeclaration = new CSSStyleDeclaration();
- }
- _loc11_.styleDeclaration.factory = _loc3_.stylesFactory;
- }
- }
- _loc8_ = _loc3_.events;
- if(_loc8_)
- {
- for(_loc12_ in _loc8_)
- {
- _loc13_ = _loc8_[_loc12_];
- _loc6_.addEventListener(_loc12_,_loc3_.document[_loc13_]);
- }
- }
- _loc9_ = _loc3_.effects;
- if(_loc9_)
- {
- _loc6_.registerEffects(_loc9_);
- }
- if(_loc6_ is IRepeaterClient)
- {
- IRepeaterClient(_loc6_).initializeRepeaterArrays(this);
- }
- _loc6_.createReferenceOnParentDocument(IFlexDisplayObject(_loc3_.document));
- if(!_loc6_.document)
- {
- _loc6_.document = _loc3_.document;
- }
- if(_loc6_ is IRepeater)
- {
- if(!mx_internal::childRepeaters)
- {
- mx_internal::childRepeaters = [];
- }
- mx_internal::childRepeaters.push(_loc6_);
- _loc6_.executeBindings();
- IRepeater(_loc6_).initializeRepeater(this,param2);
- }
- else
- {
- addChild(DisplayObject(_loc6_));
- _loc6_.executeBindings();
- if(creationPolicy == ContainerCreationPolicy.QUEUED || creationPolicy == ContainerCreationPolicy.NONE)
- {
- _loc6_.addEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
- }
- }
- return _loc6_;
- }
-
- mx_internal function get usePadding() : Boolean
- {
- return true;
- }
-
- public function set horizontalScrollPosition(param1:Number) : void
- {
- if(_horizontalScrollPosition == param1)
- {
- return;
- }
- _horizontalScrollPosition = param1;
- scrollPositionChanged = true;
- if(!initialized)
- {
- horizontalScrollPositionPending = param1;
- }
- invalidateDisplayList();
- dispatchEvent(new Event("viewChanged"));
- }
-
- override public function set focusPane(param1:Sprite) : void
- {
- var _loc2_:Boolean = false;
- var _loc3_:Boolean = false;
- _loc2_ = Boolean(mx_internal::invalidateSizeFlag);
- _loc3_ = Boolean(mx_internal::invalidateDisplayListFlag);
- mx_internal::invalidateSizeFlag = true;
- mx_internal::invalidateDisplayListFlag = true;
- if(param1)
- {
- rawChildren.addChild(param1);
- param1.x = 0;
- param1.y = 0;
- param1.scrollRect = null;
- _focusPane = param1;
- }
- else
- {
- rawChildren.removeChild(_focusPane);
- _focusPane = null;
- }
- if(Boolean(param1) && Boolean(mx_internal::contentPane))
- {
- param1.x = mx_internal::contentPane.x;
- param1.y = mx_internal::contentPane.y;
- param1.scrollRect = mx_internal::contentPane.scrollRect;
- }
- mx_internal::invalidateSizeFlag = _loc2_;
- mx_internal::invalidateDisplayListFlag = _loc3_;
- }
-
- [Bindable("horizontalScrollPolicyChanged")]
- public function get horizontalScrollPolicy() : String
- {
- return mx_internal::_horizontalScrollPolicy;
- }
-
- [Bindable("horizontalLineScrollSizeChanged")]
- public function get horizontalLineScrollSize() : Number
- {
- return _horizontalLineScrollSize;
- }
-
- private function updateBackgroundImageRect() : void
- {
- var _loc1_:RectangularBorder = null;
- var _loc2_:EdgeMetrics = null;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- _loc1_ = mx_internal::border as RectangularBorder;
- if(!_loc1_)
- {
- return;
- }
- if(viewableWidth == 0 && viewableHeight == 0)
- {
- _loc1_.mx_internal::backgroundImageRect = null;
- return;
- }
- _loc2_ = viewMetrics;
- _loc3_ = !!viewableWidth ? viewableWidth : unscaledWidth - _loc2_.left - _loc2_.right;
- _loc4_ = !!viewableHeight ? viewableHeight : unscaledHeight - _loc2_.top - _loc2_.bottom;
- if(getStyle("backgroundAttachment") == "fixed")
- {
- _loc1_.mx_internal::backgroundImageRect = new Rectangle(_loc2_.left,_loc2_.top,_loc3_,_loc4_);
- }
- else
- {
- _loc1_.mx_internal::backgroundImageRect = new Rectangle(_loc2_.left,_loc2_.top,Math.max(scrollableWidth,_loc3_),Math.max(scrollableHeight,_loc4_));
- }
- }
-
- mx_internal function invalidateViewMetricsAndPadding() : void
- {
- _viewMetricsAndPadding = null;
- }
-
- [Bindable("verticalLineScrollSizeChanged")]
- public function get verticalLineScrollSize() : Number
- {
- return _verticalLineScrollSize;
- }
-
- private function mouseWheelHandler(param1:MouseEvent) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- if(verticalScrollBar)
- {
- param1.stopPropagation();
- _loc2_ = param1.delta <= 0 ? 1 : -1;
- _loc3_ = !!verticalScrollBar ? int(verticalScrollBar.lineScrollSize) : 1;
- _loc4_ = Math.max(Math.abs(param1.delta),_loc3_);
- _loc5_ = verticalScrollPosition;
- verticalScrollPosition += 3 * _loc4_ * _loc2_;
- dispatchScrollEvent(ScrollEventDirection.VERTICAL,_loc5_,verticalScrollPosition,param1.delta <= 0 ? ScrollEventDetail.LINE_UP : ScrollEventDetail.LINE_DOWN);
- }
- }
-
- mx_internal function createContentPane() : void
- {
- var _loc1_:int = 0;
- var _loc2_:Sprite = null;
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:IUIComponent = null;
- if(mx_internal::contentPane)
- {
- return;
- }
- mx_internal::creatingContentPane = true;
- _loc1_ = numChildren;
- _loc2_ = new FlexSprite();
- _loc2_.name = "contentPane";
- _loc2_.tabChildren = true;
- if(mx_internal::border)
- {
- _loc3_ = rawChildren.getChildIndex(DisplayObject(mx_internal::border)) + 1;
- if(mx_internal::border is RectangularBorder && RectangularBorder(mx_internal::border).mx_internal::hasBackgroundImage)
- {
- _loc3_++;
- }
- }
- else
- {
- _loc3_ = 0;
- }
- rawChildren.addChildAt(_loc2_,_loc3_);
- _loc4_ = 0;
- while(_loc4_ < _loc1_)
- {
- _loc5_ = IUIComponent(super.getChildAt(_firstChildIndex));
- _loc2_.addChild(DisplayObject(_loc5_));
- _loc5_.parentChanged(_loc2_);
- --mx_internal::_numChildren;
- _loc4_++;
- }
- mx_internal::contentPane = _loc2_;
- mx_internal::creatingContentPane = false;
- mx_internal::contentPane.visible = true;
- }
-
- public function get creationPolicy() : String
- {
- return _creationPolicy;
- }
-
- public function get defaultButton() : IFlexDisplayObject
- {
- return _defaultButton;
- }
-
- [Bindable("verticalScrollPolicyChanged")]
- public function get verticalScrollPolicy() : String
- {
- return mx_internal::_verticalScrollPolicy;
- }
-
- private function verticalScrollBar_scrollHandler(param1:Event) : void
- {
- var _loc2_:Number = NaN;
- if(param1 is ScrollEvent)
- {
- _loc2_ = verticalScrollPosition;
- verticalScrollPosition = verticalScrollBar.scrollPosition;
- dispatchScrollEvent(ScrollEventDirection.VERTICAL,_loc2_,verticalScrollPosition,ScrollEvent(param1).detail);
- }
- }
-
- mx_internal function rawChildren_removeChild(param1:DisplayObject) : DisplayObject
- {
- var _loc2_:int = 0;
- _loc2_ = mx_internal::rawChildren_getChildIndex(param1);
- return mx_internal::rawChildren_removeChildAt(_loc2_);
- }
-
- final mx_internal function get $numChildren() : int
- {
- return super.numChildren;
- }
-
- override public function addChild(param1:DisplayObject) : DisplayObject
- {
- return addChildAt(param1,numChildren);
- }
-
- override public function getChildIndex(param1:DisplayObject) : int
- {
- var _loc2_:int = 0;
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.getChildIndex(param1);
- }
- return int(super.getChildIndex(param1) - _firstChildIndex);
- }
-
- public function set icon(param1:Class) : void
- {
- _icon = param1;
- dispatchEvent(new Event("iconChanged"));
- }
-
- mx_internal function rawChildren_contains(param1:DisplayObject) : Boolean
- {
- return super.contains(param1);
- }
-
- override public function executeBindings(param1:Boolean = false) : void
- {
- var _loc2_:Object = null;
- _loc2_ = Boolean(descriptor) && Boolean(descriptor.document) ? descriptor.document : parentDocument;
- BindingManager.executeBindings(_loc2_,id,this);
- if(param1)
- {
- executeChildBindings(param1);
- }
- }
-
- mx_internal function rawChildren_getChildIndex(param1:DisplayObject) : int
- {
- return super.getChildIndex(param1);
- }
-
- public function set verticalLineScrollSize(param1:Number) : void
- {
- scrollPropertiesChanged = true;
- _verticalLineScrollSize = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("verticalLineScrollSizeChanged"));
- }
-
- mx_internal function getScrollableRect() : Rectangle
- {
- var _loc1_:Number = NaN;
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:int = 0;
- var _loc6_:int = 0;
- var _loc7_:EdgeMetrics = null;
- var _loc8_:Rectangle = null;
- var _loc9_:DisplayObject = null;
- _loc1_ = 0;
- _loc2_ = 0;
- _loc3_ = 0;
- _loc4_ = 0;
- _loc5_ = numChildren;
- _loc6_ = 0;
- while(_loc6_ < _loc5_)
- {
- _loc9_ = getChildAt(_loc6_);
- if(!(_loc9_ is IUIComponent && !IUIComponent(_loc9_).includeInLayout))
- {
- _loc1_ = Math.min(_loc1_,_loc9_.x);
- _loc2_ = Math.min(_loc2_,_loc9_.y);
- if(!isNaN(_loc9_.width))
- {
- _loc3_ = Math.max(_loc3_,_loc9_.x + _loc9_.width);
- }
- if(!isNaN(_loc9_.height))
- {
- _loc4_ = Math.max(_loc4_,_loc9_.y + _loc9_.height);
- }
- }
- _loc6_++;
- }
- _loc7_ = viewMetrics;
- _loc8_ = new Rectangle();
- _loc8_.left = _loc1_;
- _loc8_.top = _loc2_;
- _loc8_.right = _loc3_;
- _loc8_.bottom = _loc4_;
- if(mx_internal::usePadding)
- {
- _loc8_.right += getStyle("paddingRight");
- _loc8_.bottom += getStyle("paddingBottom");
- }
- return _loc8_;
- }
-
- mx_internal function get numRepeaters() : int
- {
- return !!mx_internal::childRepeaters ? int(mx_internal::childRepeaters.length) : 0;
- }
-
- public function get creationIndex() : int
- {
- return _creationIndex;
- }
-
- override mx_internal function childAdded(param1:DisplayObject) : void
- {
- var _loc2_:ChildExistenceChangedEvent = null;
- dispatchEvent(new Event("childrenChanged"));
- _loc2_ = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_ADD);
- _loc2_.relatedObject = param1;
- dispatchEvent(_loc2_);
- param1.dispatchEvent(new FlexEvent(FlexEvent.ADD));
- super.mx_internal::childAdded(param1);
- }
-
- public function set horizontalScrollPolicy(param1:String) : void
- {
- if(mx_internal::_horizontalScrollPolicy != param1)
- {
- mx_internal::_horizontalScrollPolicy = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("horizontalScrollPolicyChanged"));
- }
- }
-
- override public function removeChildAt(param1:int) : DisplayObject
- {
- return removeChild(getChildAt(param1));
- }
-
- override mx_internal function fillOverlay(param1:UIComponent, param2:uint, param3:RoundedRectangle = null) : void
- {
- var _loc4_:EdgeMetrics = null;
- var _loc5_:Number = NaN;
- var _loc6_:Graphics = null;
- _loc4_ = viewMetrics;
- _loc5_ = 0;
- if(!param3)
- {
- param3 = new RoundedRectangle(_loc4_.left,_loc4_.top,unscaledWidth - _loc4_.right - _loc4_.left,unscaledHeight - _loc4_.bottom - _loc4_.top,_loc5_);
- }
- if(isNaN(param3.x) || isNaN(param3.y) || isNaN(param3.width) || isNaN(param3.height) || isNaN(param3.cornerRadius))
- {
- return;
- }
- _loc6_ = param1.graphics;
- _loc6_.clear();
- _loc6_.beginFill(param2);
- _loc6_.drawRoundRect(param3.x,param3.y,param3.width,param3.height,param3.cornerRadius * 2,param3.cornerRadius * 2);
- _loc6_.endFill();
- }
-
- public function createComponentsFromDescriptors(param1:Boolean = true) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:IFlexDisplayObject = null;
- numChildrenBefore = numChildren;
- mx_internal::createdComponents = [];
- _loc2_ = !!childDescriptors ? int(childDescriptors.length) : 0;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = createComponentFromDescriptor(childDescriptors[_loc3_],param1);
- mx_internal::createdComponents.push(_loc4_);
- _loc3_++;
- }
- if(creationPolicy == ContainerCreationPolicy.QUEUED || creationPolicy == ContainerCreationPolicy.NONE)
- {
- UIComponentGlobals.mx_internal::layoutManager.usePhasedInstantiation = false;
- }
- mx_internal::numChildrenCreated = numChildren - numChildrenBefore;
- processedDescriptors = true;
- }
-
- override public function globalToContent(param1:Point) : Point
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.globalToLocal(param1);
- }
- return globalToLocal(param1);
- }
-
- override mx_internal function removingChild(param1:DisplayObject) : void
- {
- var _loc2_:ChildExistenceChangedEvent = null;
- super.mx_internal::removingChild(param1);
- param1.dispatchEvent(new FlexEvent(FlexEvent.REMOVE));
- _loc2_ = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_REMOVE);
- _loc2_.relatedObject = param1;
- dispatchEvent(_loc2_);
- }
-
- private function isBorderNeeded() : Boolean
- {
- var _loc1_:Object = null;
- _loc1_ = getStyle("borderStyle");
- if(_loc1_)
- {
- if(_loc1_ != "none" || _loc1_ == "none" && getStyle("mouseShield"))
- {
- return true;
- }
- }
- _loc1_ = getStyle("backgroundColor");
- if(_loc1_ !== null && _loc1_ !== "")
- {
- return true;
- }
- _loc1_ = getStyle("backgroundImage");
- return _loc1_ != null && _loc1_ != "";
- }
-
- mx_internal function rawChildren_removeChildAt(param1:int) : DisplayObject
- {
- var _loc2_:DisplayObject = null;
- _loc2_ = super.getChildAt(param1);
- super.mx_internal::removingChild(_loc2_);
- mx_internal::$removeChildAt(param1);
- super.mx_internal::childRemoved(_loc2_);
- if(_firstChildIndex < param1 && param1 < _firstChildIndex + mx_internal::_numChildren)
- {
- --mx_internal::_numChildren;
- }
- else if(mx_internal::_numChildren == 0 || param1 < _firstChildIndex)
- {
- --_firstChildIndex;
- }
- invalidateSize();
- invalidateDisplayList();
- dispatchEvent(new Event("childrenChanged"));
- return _loc2_;
- }
-
- [Bindable("verticalPageScrollSizeChanged")]
- public function get verticalPageScrollSize() : Number
- {
- return _verticalPageScrollSize;
- }
-
- override public function validateDisplayList() : void
- {
- var _loc1_:EdgeMetrics = null;
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Object = null;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:Number = NaN;
- if(_autoLayout || forceLayout)
- {
- mx_internal::doingLayout = true;
- super.validateDisplayList();
- mx_internal::doingLayout = false;
- }
- else
- {
- layoutChrome(unscaledWidth,unscaledHeight);
- }
- mx_internal::invalidateDisplayListFlag = true;
- if(createContentPaneAndScrollbarsIfNeeded())
- {
- if(_autoLayout || forceLayout)
- {
- mx_internal::doingLayout = true;
- super.validateDisplayList();
- mx_internal::doingLayout = false;
- }
- createContentPaneAndScrollbarsIfNeeded();
- }
- if(mx_internal::contentPane)
- {
- _loc1_ = viewMetrics;
- if(mx_internal::overlay)
- {
- mx_internal::overlay.x = 0;
- mx_internal::overlay.y = 0;
- mx_internal::overlay.width = unscaledWidth;
- mx_internal::overlay.height = unscaledHeight;
- }
- if(Boolean(horizontalScrollBar) || Boolean(verticalScrollBar))
- {
- if(Boolean(verticalScrollBar) && verticalScrollPolicy == ScrollPolicy.ON)
- {
- _loc1_.right -= verticalScrollBar.minWidth;
- }
- if(Boolean(horizontalScrollBar) && horizontalScrollPolicy == ScrollPolicy.ON)
- {
- _loc1_.bottom -= horizontalScrollBar.minHeight;
- }
- if(horizontalScrollBar)
- {
- _loc2_ = unscaledWidth - _loc1_.left - _loc1_.right;
- if(verticalScrollBar)
- {
- _loc2_ -= verticalScrollBar.minWidth;
- }
- horizontalScrollBar.setActualSize(_loc2_,horizontalScrollBar.minHeight);
- horizontalScrollBar.move(_loc1_.left,unscaledHeight - _loc1_.bottom - horizontalScrollBar.minHeight);
- }
- if(verticalScrollBar)
- {
- _loc3_ = unscaledHeight - _loc1_.top - _loc1_.bottom;
- if(horizontalScrollBar)
- {
- _loc3_ -= horizontalScrollBar.minHeight;
- }
- verticalScrollBar.setActualSize(verticalScrollBar.minWidth,_loc3_);
- verticalScrollBar.move(unscaledWidth - _loc1_.right - verticalScrollBar.minWidth,_loc1_.top);
- }
- if(whiteBox)
- {
- whiteBox.x = verticalScrollBar.x;
- whiteBox.y = horizontalScrollBar.y;
- }
- }
- mx_internal::contentPane.x = _loc1_.left;
- mx_internal::contentPane.y = _loc1_.top;
- if(focusPane)
- {
- focusPane.x = _loc1_.left;
- focusPane.y = _loc1_.top;
- }
- scrollChildren();
- }
- mx_internal::invalidateDisplayListFlag = false;
- if(mx_internal::blocker)
- {
- _loc1_ = viewMetrics;
- _loc4_ = enabled ? null : getStyle("backgroundDisabledColor");
- if(!_loc4_)
- {
- _loc4_ = getStyle("backgroundColor");
- }
- if(_loc4_ === null || isNaN(Number(_loc4_)))
- {
- _loc4_ = 16777215;
- }
- _loc5_ = getStyle("disabledOverlayAlpha");
- if(isNaN(_loc5_))
- {
- _loc5_ = 0.6;
- }
- mx_internal::blocker.x = _loc1_.left;
- mx_internal::blocker.y = _loc1_.top;
- _loc6_ = unscaledWidth - (_loc1_.left + _loc1_.right);
- _loc7_ = unscaledHeight - (_loc1_.top + _loc1_.bottom);
- mx_internal::blocker.graphics.clear();
- mx_internal::blocker.graphics.beginFill(uint(_loc4_),_loc5_);
- mx_internal::blocker.graphics.drawRect(0,0,_loc6_,_loc7_);
- mx_internal::blocker.graphics.endFill();
- rawChildren.setChildIndex(mx_internal::blocker,rawChildren.numChildren - 1);
- }
- }
-
- public function set horizontalLineScrollSize(param1:Number) : void
- {
- scrollPropertiesChanged = true;
- _horizontalLineScrollSize = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("horizontalLineScrollSizeChanged"));
- }
-
- override public function contentToGlobal(param1:Point) : Point
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.localToGlobal(param1);
- }
- return localToGlobal(param1);
- }
-
- mx_internal function set forceClipping(param1:Boolean) : void
- {
- if(_clipContent)
- {
- if(param1)
- {
- ++_forceClippingCount;
- }
- else
- {
- --_forceClippingCount;
- }
- mx_internal::createContentPane();
- scrollChildren();
- }
- }
-
- [Bindable("horizontalPageScrollSizeChanged")]
- public function get horizontalPageScrollSize() : Number
- {
- return _horizontalPageScrollSize;
- }
-
- public function set defaultButton(param1:IFlexDisplayObject) : void
- {
- _defaultButton = param1;
- ContainerGlobals.focusedContainer = null;
- }
-
- private function hasChildMatchingDescriptor(param1:UIComponentDescriptor) : Boolean
- {
- var _loc2_:String = null;
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:IUIComponent = null;
- _loc2_ = param1.id;
- if(_loc2_ != null && document[_loc2_] == null)
- {
- return false;
- }
- _loc3_ = numChildren;
- _loc4_ = 0;
- while(_loc4_ < _loc3_)
- {
- _loc5_ = IUIComponent(getChildAt(_loc4_));
- if(_loc5_ is IDeferredInstantiationUIComponent && IDeferredInstantiationUIComponent(_loc5_).descriptor == param1)
- {
- return true;
- }
- _loc4_++;
- }
- if(mx_internal::childRepeaters)
- {
- _loc3_ = int(mx_internal::childRepeaters.length);
- _loc4_ = 0;
- while(_loc4_ < _loc3_)
- {
- if(IDeferredInstantiationUIComponent(mx_internal::childRepeaters[_loc4_]).descriptor == param1)
- {
- return true;
- }
- _loc4_++;
- }
- }
- return false;
- }
-
- override protected function commitProperties() : void
- {
- var _loc1_:String = null;
- super.commitProperties();
- if(changedStyles)
- {
- _loc1_ = changedStyles == MULTIPLE_PROPERTIES ? null : changedStyles;
- super.notifyStyleChangeInChildren(_loc1_,true);
- changedStyles = null;
- }
- createOrDestroyBlocker();
- }
-
- override public function finishPrint(param1:Object, param2:IFlexDisplayObject) : void
- {
- if(param1)
- {
- mx_internal::contentPane.scrollRect = Rectangle(param1);
- }
- super.finishPrint(param1,param2);
- }
-
- public function get autoLayout() : Boolean
- {
- return _autoLayout;
- }
-
- public function get maxHorizontalScrollPosition() : Number
- {
- return !!horizontalScrollBar ? horizontalScrollBar.maxScrollPosition : Math.max(scrollableWidth - viewableWidth,0);
- }
-
- public function set creationPolicy(param1:String) : void
- {
- _creationPolicy = param1;
- mx_internal::setActualCreationPolicies(param1);
- }
-
- public function set verticalScrollPolicy(param1:String) : void
- {
- if(mx_internal::_verticalScrollPolicy != param1)
- {
- mx_internal::_verticalScrollPolicy = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("verticalScrollPolicyChanged"));
- }
- }
-
- override public function prepareToPrint(param1:IFlexDisplayObject) : Object
- {
- var _loc2_:Rectangle = null;
- _loc2_ = Boolean(mx_internal::contentPane) && Boolean(mx_internal::contentPane.scrollRect) ? mx_internal::contentPane.scrollRect : null;
- if(_loc2_)
- {
- mx_internal::contentPane.scrollRect = null;
- }
- super.prepareToPrint(param1);
- return _loc2_;
- }
-
- public function set label(param1:String) : void
- {
- _label = param1;
- dispatchEvent(new Event("labelChanged"));
- }
-
- override protected function initializationComplete() : void
- {
- }
-
- override mx_internal function addingChild(param1:DisplayObject) : void
- {
- var _loc2_:IUIComponent = null;
- _loc2_ = IUIComponent(param1);
- super.mx_internal::addingChild(param1);
- invalidateSize();
- invalidateDisplayList();
- if(!mx_internal::contentPane)
- {
- if(mx_internal::_numChildren == 0)
- {
- _firstChildIndex = super.numChildren;
- }
- ++mx_internal::_numChildren;
- }
- if(Boolean(mx_internal::contentPane) && !autoLayout)
- {
- forceLayout = true;
- UIComponentGlobals.mx_internal::layoutManager.addEventListener("updateComplete",layoutCompleteHandler,false,0,true);
- }
- }
-
- mx_internal function setActualCreationPolicies(param1:String) : void
- {
- var _loc2_:String = null;
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:IFlexDisplayObject = null;
- var _loc6_:Container = null;
- actualCreationPolicy = param1;
- _loc2_ = param1;
- if(param1 == ContainerCreationPolicy.QUEUED)
- {
- _loc2_ = ContainerCreationPolicy.AUTO;
- }
- _loc3_ = numChildren;
- _loc4_ = 0;
- while(_loc4_ < _loc3_)
- {
- _loc5_ = IFlexDisplayObject(getChildAt(_loc4_));
- if(_loc5_ is Container)
- {
- _loc6_ = Container(_loc5_);
- if(_loc6_.creationPolicy == null)
- {
- _loc6_.mx_internal::setActualCreationPolicies(_loc2_);
- }
- }
- _loc4_++;
- }
- }
-
- override public function set doubleClickEnabled(param1:Boolean) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:InteractiveObject = null;
- super.doubleClickEnabled = param1;
- if(mx_internal::contentPane)
- {
- _loc2_ = mx_internal::contentPane.numChildren;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = mx_internal::contentPane.getChildAt(_loc3_) as InteractiveObject;
- if(_loc4_)
- {
- _loc4_.doubleClickEnabled = param1;
- }
- _loc3_++;
- }
- }
- }
-
- override public function contains(param1:DisplayObject) : Boolean
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.contains(param1);
- }
- return super.contains(param1);
- }
-
- public function set clipContent(param1:Boolean) : void
- {
- if(_clipContent != param1)
- {
- _clipContent = param1;
- invalidateDisplayList();
- }
- }
-
- override public function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
- {
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:ISimpleStyleClient = null;
- _loc3_ = super.numChildren;
- _loc4_ = 0;
- while(_loc4_ < _loc3_)
- {
- if(mx_internal::contentPane || _loc4_ < _firstChildIndex || _loc4_ >= _firstChildIndex + mx_internal::_numChildren)
- {
- _loc5_ = super.getChildAt(_loc4_) as ISimpleStyleClient;
- if(_loc5_)
- {
- _loc5_.styleChanged(param1);
- if(_loc5_ is IStyleClient)
- {
- IStyleClient(_loc5_).notifyStyleChangeInChildren(param1,param2);
- }
- }
- }
- _loc4_++;
- }
- if(param2)
- {
- changedStyles = changedStyles != null || param1 == null ? MULTIPLE_PROPERTIES : param1;
- invalidateProperties();
- }
- }
-
- override public function get contentMouseX() : Number
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.mouseX;
- }
- return super.contentMouseX;
- }
-
- override public function get contentMouseY() : Number
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.mouseY;
- }
- return super.contentMouseY;
- }
-
- override public function validateSize(param1:Boolean = false) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:DisplayObject = null;
- if(autoLayout == false && forceLayout == false)
- {
- if(param1)
- {
- _loc2_ = super.numChildren;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = super.getChildAt(_loc3_);
- if(_loc4_ is ILayoutManagerClient)
- {
- ILayoutManagerClient(_loc4_).validateSize(true);
- }
- _loc3_++;
- }
- }
- mx_internal::adjustSizesForScaleChanges();
- }
- else
- {
- super.validateSize(param1);
- }
- }
-
- override public function getChildAt(param1:int) : DisplayObject
- {
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.getChildAt(param1);
- }
- return super.getChildAt(_firstChildIndex + param1);
- }
-
- protected function layoutChrome(param1:Number, param2:Number) : void
- {
- if(mx_internal::border)
- {
- updateBackgroundImageRect();
- mx_internal::border.move(0,0);
- mx_internal::border.setActualSize(param1,param2);
- }
- }
-
- override public function addEventListener(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false) : void
- {
- super.addEventListener(param1,param2,param3,param4,param5);
- if(param1 == MouseEvent.CLICK || param1 == MouseEvent.DOUBLE_CLICK || param1 == MouseEvent.MOUSE_DOWN || param1 == MouseEvent.MOUSE_MOVE || param1 == MouseEvent.MOUSE_OVER || param1 == MouseEvent.MOUSE_OUT || param1 == MouseEvent.MOUSE_UP || param1 == MouseEvent.MOUSE_WHEEL)
- {
- if(mouseEventReferenceCount < 2147483647 && mouseEventReferenceCount++ == 0)
- {
- setStyle("mouseShield",true);
- setStyle("mouseShieldChildren",true);
- }
- }
- }
-
- override protected function attachOverlay() : void
- {
- mx_internal::rawChildren_addChild(mx_internal::overlay);
- }
-
- override public function localToContent(param1:Point) : Point
- {
- if(!mx_internal::contentPane)
- {
- return param1;
- }
- param1 = localToGlobal(param1);
- return globalToContent(param1);
- }
-
- public function get rawChildren() : IChildList
- {
- if(!_rawChildren)
- {
- _rawChildren = new ContainerRawChildrenList(this);
- }
- return _rawChildren;
- }
-
- public function get viewMetrics() : EdgeMetrics
- {
- var _loc1_:EdgeMetrics = null;
- var _loc2_:Boolean = false;
- var _loc3_:Boolean = false;
- _loc1_ = borderMetrics;
- _loc2_ = verticalScrollBar != null && (mx_internal::doingLayout || verticalScrollPolicy == ScrollPolicy.ON);
- _loc3_ = horizontalScrollBar != null && (mx_internal::doingLayout || horizontalScrollPolicy == ScrollPolicy.ON);
- if(!_loc2_ && !_loc3_)
- {
- return _loc1_;
- }
- if(!_viewMetrics)
- {
- _viewMetrics = _loc1_.clone();
- }
- else
- {
- _viewMetrics.left = _loc1_.left;
- _viewMetrics.right = _loc1_.right;
- _viewMetrics.top = _loc1_.top;
- _viewMetrics.bottom = _loc1_.bottom;
- }
- if(_loc2_)
- {
- _viewMetrics.right += verticalScrollBar.minWidth;
- }
- if(_loc3_)
- {
- _viewMetrics.bottom += horizontalScrollBar.minHeight;
- }
- return _viewMetrics;
- }
-
- public function set creationIndex(param1:int) : void
- {
- _creationIndex = param1;
- }
-
- public function executeChildBindings(param1:Boolean) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:IUIComponent = null;
- _loc2_ = numChildren;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = IUIComponent(getChildAt(_loc3_));
- if(_loc4_ is IDeferredInstantiationUIComponent)
- {
- IDeferredInstantiationUIComponent(_loc4_).executeBindings(param1);
- }
- _loc3_++;
- }
- }
-
- public function set verticalScrollBar(param1:ScrollBar) : void
- {
- _verticalScrollBar = param1;
- }
-
- public function get horizontalScrollBar() : ScrollBar
- {
- return _horizontalScrollBar;
- }
-
- private function createOrDestroyBlocker() : void
- {
- var _loc1_:DisplayObject = null;
- var _loc2_:ISystemManager = null;
- if(enabled)
- {
- if(mx_internal::blocker)
- {
- rawChildren.removeChild(mx_internal::blocker);
- mx_internal::blocker = null;
- }
- }
- else if(!mx_internal::blocker)
- {
- mx_internal::blocker = new FlexSprite();
- mx_internal::blocker.name = "blocker";
- mx_internal::blocker.mouseEnabled = true;
- rawChildren.addChild(mx_internal::blocker);
- mx_internal::blocker.addEventListener(MouseEvent.CLICK,blocker_clickHandler);
- _loc1_ = !!focusManager ? DisplayObject(focusManager.getFocus()) : null;
- while(_loc1_)
- {
- if(_loc1_ == this)
- {
- _loc2_ = systemManager;
- if(Boolean(_loc2_) && Boolean(_loc2_.stage))
- {
- _loc2_.stage.focus = null;
- }
- break;
- }
- _loc1_ = _loc1_.parent;
- }
- }
- }
-
- override public function set enabled(param1:Boolean) : void
- {
- super.enabled = param1;
- if(horizontalScrollBar)
- {
- horizontalScrollBar.enabled = param1;
- }
- if(verticalScrollBar)
- {
- verticalScrollBar.enabled = param1;
- }
- invalidateProperties();
- }
-
- override public function getChildByName(param1:String) : DisplayObject
- {
- var _loc2_:DisplayObject = null;
- var _loc3_:int = 0;
- if(mx_internal::contentPane)
- {
- return mx_internal::contentPane.getChildByName(param1);
- }
- _loc2_ = super.getChildByName(param1);
- if(!_loc2_)
- {
- return null;
- }
- _loc3_ = super.getChildIndex(_loc2_) - _firstChildIndex;
- if(_loc3_ < 0 || _loc3_ >= mx_internal::_numChildren)
- {
- return null;
- }
- return _loc2_;
- }
-
- override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
- {
- mx_internal::addingChild(param1);
- if(mx_internal::contentPane)
- {
- mx_internal::contentPane.addChildAt(param1,param2);
- }
- else
- {
- mx_internal::$addChildAt(param1,_firstChildIndex + param2);
- }
- mx_internal::childAdded(param1);
- return param1;
- }
-
- override public function get baselinePosition() : Number
- {
- var _loc1_:IUIComponent = null;
- if(getStyle("verticalAlign") == "top" && numChildren > 0)
- {
- _loc1_ = getChildAt(0) as IUIComponent;
- if(_loc1_)
- {
- return _loc1_.y + _loc1_.baselinePosition;
- }
- }
- return super.baselinePosition;
- }
-
- private function blocker_clickHandler(param1:Event) : void
- {
- param1.stopPropagation();
- }
-
- public function get maxVerticalScrollPosition() : Number
- {
- return !!verticalScrollBar ? verticalScrollBar.maxScrollPosition : Math.max(scrollableHeight - viewableHeight,0);
- }
-
- public function set verticalPageScrollSize(param1:Number) : void
- {
- scrollPropertiesChanged = true;
- _verticalPageScrollSize = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("verticalPageScrollSizeChanged"));
- }
-
- private function creationCompleteHandler(param1:FlexEvent) : void
- {
- --mx_internal::numChildrenCreated;
- if(mx_internal::numChildrenCreated <= 0)
- {
- dispatchEvent(new FlexEvent("childrenCreationComplete"));
- }
- }
-
- override public function contentToLocal(param1:Point) : Point
- {
- if(!mx_internal::contentPane)
- {
- return param1;
- }
- param1 = contentToGlobal(param1);
- return globalToLocal(param1);
- }
-
- override public function removeChild(param1:DisplayObject) : DisplayObject
- {
- mx_internal::removingChild(param1);
- if(mx_internal::contentPane)
- {
- mx_internal::contentPane.removeChild(param1);
- }
- else
- {
- mx_internal::$removeChild(param1);
- }
- mx_internal::childRemoved(param1);
- return param1;
- }
-
- private function dispatchScrollEvent(param1:String, param2:Number, param3:Number, param4:String) : void
- {
- var _loc5_:ScrollEvent = null;
- _loc5_ = new ScrollEvent(ScrollEvent.SCROLL);
- _loc5_.direction = param1;
- _loc5_.position = param3;
- _loc5_.delta = param3 - param2;
- _loc5_.detail = param4;
- dispatchEvent(_loc5_);
- }
-
- [Bindable("labelChanged")]
- public function get label() : String
- {
- return _label;
- }
-
- mx_internal function setDocumentDescriptor(param1:UIComponentDescriptor) : void
- {
- if(processedDescriptors)
- {
- return;
- }
- if(Boolean(mx_internal::_documentDescriptor) && Boolean(mx_internal::_documentDescriptor.properties.childDescriptors))
- {
- if(param1.properties.childDescriptors)
- {
- throw new Error(resourceMultipleChildSets_ClassAndSubclass);
- }
- }
- else
- {
- mx_internal::_documentDescriptor = param1;
- mx_internal::_documentDescriptor.document = this;
- }
- }
-
- override public function setChildIndex(param1:DisplayObject, param2:int) : void
- {
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:int = 0;
- var _loc6_:IndexChangedEvent = null;
- _loc4_ = _loc3_;
- _loc5_ = param2;
- if(mx_internal::contentPane)
- {
- mx_internal::contentPane.setChildIndex(param1,param2);
- if(_autoLayout || forceLayout)
- {
- invalidateDisplayList();
- }
- }
- else
- {
- _loc3_ = super.getChildIndex(param1);
- param2 += _firstChildIndex;
- if(param2 == _loc3_)
- {
- return;
- }
- super.setChildIndex(param1,param2);
- invalidateDisplayList();
- _loc4_ = _loc3_ - _firstChildIndex;
- _loc5_ = param2 - _firstChildIndex;
- }
- _loc6_ = new IndexChangedEvent(IndexChangedEvent.CHILD_INDEX_CHANGE);
- _loc6_.relatedObject = param1;
- _loc6_.oldIndex = _loc4_;
- _loc6_.newIndex = _loc5_;
- dispatchEvent(_loc6_);
- dispatchEvent(new Event("childrenChanged"));
- }
-
- override public function regenerateStyleCache(param1:Boolean) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:DisplayObject = null;
- super.regenerateStyleCache(param1);
- if(mx_internal::contentPane)
- {
- _loc2_ = mx_internal::contentPane.numChildren;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = getChildAt(_loc3_);
- if(param1 && _loc4_ is UIComponent)
- {
- if(UIComponent(_loc4_).inheritingStyles != UIComponent.mx_internal::STYLE_UNINITIALIZED)
- {
- UIComponent(_loc4_).regenerateStyleCache(param1);
- }
- }
- else if(_loc4_ is UITextField && Boolean(UITextField(_loc4_).inheritingStyles))
- {
- StyleProtoChain.initTextField(UITextField(_loc4_));
- }
- _loc3_++;
- }
- }
- }
-
- override protected function createChildren() : void
- {
- var _loc1_:Application = null;
- super.createChildren();
- createBorder();
- createOrDestroyScrollbars(horizontalScrollPolicy == ScrollPolicy.ON,verticalScrollPolicy == ScrollPolicy.ON,horizontalScrollPolicy == ScrollPolicy.ON || verticalScrollPolicy == ScrollPolicy.ON);
- if(creationPolicy != null)
- {
- actualCreationPolicy = creationPolicy;
- }
- else if(parent is Container)
- {
- if(Container(parent).actualCreationPolicy == ContainerCreationPolicy.QUEUED)
- {
- actualCreationPolicy = ContainerCreationPolicy.AUTO;
- }
- else
- {
- actualCreationPolicy = Container(parent).actualCreationPolicy;
- }
- }
- if(actualCreationPolicy == ContainerCreationPolicy.NONE)
- {
- actualCreationPolicy = ContainerCreationPolicy.AUTO;
- }
- else if(actualCreationPolicy == ContainerCreationPolicy.QUEUED)
- {
- _loc1_ = !!parentApplication ? Application(parentApplication) : Application(Application.application);
- _loc1_.addToCreationQueue(this,creationIndex,null,this);
- }
- else if(recursionFlag)
- {
- createComponentsFromDescriptors();
- }
- if(autoLayout == false)
- {
- forceLayout = true;
- }
- UIComponentGlobals.mx_internal::layoutManager.addEventListener("updateComplete",layoutCompleteHandler,false,0,true);
- }
-
- mx_internal function set numChildrenCreated(param1:int) : void
- {
- _numChildrenCreated = param1;
- }
-
- public function get borderMetrics() : EdgeMetrics
- {
- return Boolean(mx_internal::border) && mx_internal::border is RectangularBorder ? RectangularBorder(mx_internal::border).borderMetrics : EdgeMetrics.EMPTY;
- }
-
- public function get clipContent() : Boolean
- {
- return _clipContent;
- }
-
- mx_internal function rawChildren_setChildIndex(param1:DisplayObject, param2:int) : void
- {
- var _loc3_:int = 0;
- _loc3_ = super.getChildIndex(param1);
- super.setChildIndex(param1,param2);
- if(_loc3_ < _firstChildIndex && param2 >= _firstChildIndex)
- {
- --_firstChildIndex;
- }
- else if(_loc3_ >= _firstChildIndex && param2 <= _firstChildIndex)
- {
- ++_firstChildIndex;
- }
- dispatchEvent(new Event("childrenChanged"));
- }
-
- mx_internal function rawChildren_getChildAt(param1:int) : DisplayObject
- {
- return super.getChildAt(param1);
- }
-
- public function get verticalScrollBar() : ScrollBar
- {
- return _verticalScrollBar;
- }
-
- public function get viewMetricsAndPadding() : EdgeMetrics
- {
- var _loc1_:EdgeMetrics = null;
- var _loc2_:EdgeMetrics = null;
- if(_viewMetricsAndPadding && (!horizontalScrollBar || horizontalScrollPolicy == ScrollPolicy.ON) && (!verticalScrollBar || verticalScrollPolicy == ScrollPolicy.ON))
- {
- return _viewMetricsAndPadding;
- }
- if(!_viewMetricsAndPadding)
- {
- _viewMetricsAndPadding = new EdgeMetrics();
- }
- _loc1_ = _viewMetricsAndPadding;
- _loc2_ = viewMetrics;
- _loc1_.left = _loc2_.left + getStyle("paddingLeft");
- _loc1_.right = _loc2_.right + getStyle("paddingRight");
- _loc1_.top = _loc2_.top + getStyle("paddingTop");
- _loc1_.bottom = _loc2_.bottom + getStyle("paddingBottom");
- return _loc1_;
- }
-
- public function set horizontalPageScrollSize(param1:Number) : void
- {
- scrollPropertiesChanged = true;
- _horizontalPageScrollSize = param1;
- invalidateDisplayList();
- dispatchEvent(new Event("horizontalPageScrollSizeChanged"));
- }
-
- private function layoutCompleteHandler(param1:Event) : void
- {
- var _loc2_:Boolean = false;
- UIComponentGlobals.mx_internal::layoutManager.removeEventListener("updateComplete",layoutCompleteHandler);
- forceLayout = false;
- _loc2_ = false;
- if(!isNaN(horizontalScrollPositionPending))
- {
- if(horizontalScrollPositionPending < 0)
- {
- horizontalScrollPositionPending = 0;
- }
- else if(horizontalScrollPositionPending > maxHorizontalScrollPosition)
- {
- horizontalScrollPositionPending = maxHorizontalScrollPosition;
- }
- if(Boolean(horizontalScrollBar) && horizontalScrollBar.scrollPosition != horizontalScrollPositionPending)
- {
- _horizontalScrollPosition = horizontalScrollPositionPending;
- horizontalScrollBar.scrollPosition = horizontalScrollPositionPending;
- _loc2_ = true;
- }
- horizontalScrollPositionPending = NaN;
- }
- if(!isNaN(verticalScrollPositionPending))
- {
- if(verticalScrollPositionPending < 0)
- {
- verticalScrollPositionPending = 0;
- }
- else if(verticalScrollPositionPending > maxVerticalScrollPosition)
- {
- verticalScrollPositionPending = maxVerticalScrollPosition;
- }
- if(Boolean(verticalScrollBar) && verticalScrollBar.scrollPosition != verticalScrollPositionPending)
- {
- _verticalScrollPosition = verticalScrollPositionPending;
- verticalScrollBar.scrollPosition = verticalScrollPositionPending;
- _loc2_ = true;
- }
- verticalScrollPositionPending = NaN;
- }
- if(_loc2_)
- {
- scrollChildren();
- }
- }
-
- override public function removeEventListener(param1:String, param2:Function, param3:Boolean = false) : void
- {
- super.removeEventListener(param1,param2,param3);
- if(param1 == MouseEvent.CLICK || param1 == MouseEvent.DOUBLE_CLICK || param1 == MouseEvent.MOUSE_DOWN || param1 == MouseEvent.MOUSE_MOVE || param1 == MouseEvent.MOUSE_OVER || param1 == MouseEvent.MOUSE_OUT || param1 == MouseEvent.MOUSE_UP || param1 == MouseEvent.MOUSE_WHEEL)
- {
- if(mouseEventReferenceCount > 0 && --mouseEventReferenceCount == 0)
- {
- setStyle("mouseShield",false);
- setStyle("mouseShieldChildren",false);
- }
- }
- }
-
- public function set autoLayout(param1:Boolean) : void
- {
- var _loc2_:IInvalidating = null;
- _autoLayout = param1;
- if(param1)
- {
- invalidateSize();
- invalidateDisplayList();
- _loc2_ = parent as IInvalidating;
- if(_loc2_)
- {
- _loc2_.invalidateSize();
- _loc2_.invalidateDisplayList();
- }
- }
- }
-
- mx_internal function rawChildren_getChildByName(param1:String) : DisplayObject
- {
- return super.getChildByName(param1);
- }
-
- mx_internal function get numChildrenCreated() : int
- {
- return _numChildrenCreated;
- }
-
- override public function initialize() : void
- {
- var _loc1_:* = undefined;
- if(isDocument && mx_internal::documentDescriptor && !processedDescriptors)
- {
- _loc1_ = mx_internal::documentDescriptor.properties;
- if(_loc1_ && Boolean(_loc1_.childDescriptors))
- {
- if(_childDescriptors)
- {
- throw new Error(resourceMultipleChildSets_ClassAndInstance);
- }
- _childDescriptors = _loc1_.childDescriptors;
- }
- }
- super.initialize();
- }
-
- mx_internal function rawChildren_addChildAt(param1:DisplayObject, param2:int) : DisplayObject
- {
- if(_firstChildIndex < param2 && param2 < _firstChildIndex + mx_internal::$numChildren + 1)
- {
- ++mx_internal::_numChildren;
- }
- else if(param2 <= _firstChildIndex)
- {
- ++_firstChildIndex;
- }
- super.mx_internal::addingChild(param1);
- mx_internal::$addChildAt(param1,param2);
- super.mx_internal::childAdded(param1);
- dispatchEvent(new Event("childrenChanged"));
- return param1;
- }
-
- public function set data(param1:Object) : void
- {
- _data = param1;
- dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
- invalidateDisplayList();
- }
-
- private function createScrollbarsIfNeeded(param1:Rectangle) : Boolean
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- var _loc6_:Boolean = false;
- var _loc7_:EdgeMetrics = null;
- var _loc8_:* = false;
- var _loc9_:* = false;
- var _loc10_:Boolean = false;
- var _loc11_:Boolean = false;
- _loc2_ = param1.right;
- _loc3_ = param1.bottom;
- _loc4_ = unscaledWidth;
- _loc5_ = unscaledHeight;
- _loc6_ = param1.left < 0 || param1.top < 0;
- _loc7_ = viewMetrics;
- if(scaleX != 1)
- {
- _loc4_ += 1 / Math.abs(scaleX);
- }
- if(scaleY != 1)
- {
- _loc5_ += 1 / Math.abs(scaleY);
- }
- _loc4_ = Math.floor(_loc4_);
- _loc5_ = Math.floor(_loc5_);
- _loc2_ = Math.floor(_loc2_);
- _loc3_ = Math.floor(_loc3_);
- if(Boolean(horizontalScrollBar) && horizontalScrollPolicy != ScrollPolicy.ON)
- {
- _loc5_ -= horizontalScrollBar.minHeight;
- }
- if(Boolean(verticalScrollBar) && verticalScrollPolicy != ScrollPolicy.ON)
- {
- _loc4_ -= verticalScrollBar.minWidth;
- }
- _loc4_ -= _loc7_.left + _loc7_.right;
- _loc5_ -= _loc7_.top + _loc7_.bottom;
- _loc8_ = horizontalScrollPolicy == ScrollPolicy.ON;
- _loc9_ = verticalScrollPolicy == ScrollPolicy.ON;
- _loc10_ = _loc8_ || _loc9_ || _loc6_ || mx_internal::overlay != null || _loc7_.left > 0 || _loc7_.top > 0;
- if(_loc4_ < _loc2_)
- {
- _loc10_ = true;
- if(horizontalScrollPolicy == ScrollPolicy.AUTO && unscaledHeight - _loc7_.top - _loc7_.bottom >= 18 && unscaledWidth - _loc7_.left - _loc7_.right >= 32)
- {
- _loc8_ = true;
- }
- }
- if(_loc5_ < _loc3_)
- {
- _loc10_ = true;
- if(verticalScrollPolicy == ScrollPolicy.AUTO && unscaledWidth - _loc7_.left - _loc7_.right >= 18 && unscaledHeight - _loc7_.top - _loc7_.bottom >= 32)
- {
- _loc9_ = true;
- }
- }
- if(_loc8_ && _loc9_ && horizontalScrollPolicy == ScrollPolicy.AUTO && verticalScrollPolicy == ScrollPolicy.AUTO && horizontalScrollBar && verticalScrollBar && _loc4_ + verticalScrollBar.minWidth >= _loc2_ && _loc5_ + horizontalScrollBar.minHeight >= _loc3_)
- {
- _loc8_ = _loc9_ = false;
- }
- else if(_loc8_ && !_loc9_ && verticalScrollBar && horizontalScrollPolicy == ScrollPolicy.AUTO && _loc4_ + verticalScrollBar.minWidth >= _loc2_)
- {
- _loc8_ = false;
- }
- _loc11_ = createOrDestroyScrollbars(_loc8_,_loc9_,_loc10_);
- if(scrollableWidth != _loc2_ || viewableWidth != _loc4_ || _loc11_)
- {
- if(horizontalScrollBar)
- {
- horizontalScrollBar.setScrollProperties(_loc4_ - borderMetrics.right,0,_loc2_ - _loc4_,horizontalPageScrollSize);
- scrollPositionChanged = true;
- }
- viewableWidth = _loc4_;
- scrollableWidth = _loc2_;
- }
- if(scrollableHeight != _loc3_ || viewableHeight != _loc5_ || _loc11_)
- {
- if(verticalScrollBar)
- {
- verticalScrollBar.setScrollProperties(_loc5_ - borderMetrics.bottom,0,_loc3_ - _loc5_,verticalPageScrollSize);
- scrollPositionChanged = true;
- }
- viewableHeight = _loc5_;
- scrollableHeight = _loc3_;
- }
- return _loc11_;
- }
-
- [Bindable("childrenChanged")]
- public function getChildren() : Array
- {
- var _loc1_:Array = null;
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- _loc1_ = [];
- _loc2_ = numChildren;
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc1_.push(getChildAt(_loc3_));
- _loc3_++;
- }
- return _loc1_;
- }
-
- public function removeAllChildren() : void
- {
- while(numChildren > 0)
- {
- removeChildAt(0);
- }
- }
-
- override mx_internal function childRemoved(param1:DisplayObject) : void
- {
- super.mx_internal::childRemoved(param1);
- invalidateSize();
- invalidateDisplayList();
- if(!mx_internal::contentPane)
- {
- --mx_internal::_numChildren;
- if(mx_internal::_numChildren == 0)
- {
- _firstChildIndex = super.numChildren;
- }
- }
- if(Boolean(mx_internal::contentPane) && !autoLayout)
- {
- forceLayout = true;
- UIComponentGlobals.mx_internal::layoutManager.addEventListener("updateComplete",layoutCompleteHandler,false,0,true);
- }
- dispatchEvent(new Event("childrenChanged"));
- }
-
- override public function get numChildren() : int
- {
- return !!mx_internal::contentPane ? mx_internal::contentPane.numChildren : mx_internal::_numChildren;
- }
-
- [Bindable("dataChange")]
- public function get data() : Object
- {
- return _data;
- }
-
- override public function styleChanged(param1:String) : void
- {
- var _loc2_:Boolean = false;
- var _loc3_:String = null;
- var _loc4_:String = null;
- _loc2_ = param1 == null || param1 == "styleName";
- if(_loc2_ || StyleManager.isSizeInvalidatingStyle(param1))
- {
- invalidateDisplayList();
- }
- if(_loc2_ || param1 == "borderSkin")
- {
- if(mx_internal::border)
- {
- rawChildren.removeChild(DisplayObject(mx_internal::border));
- mx_internal::border = null;
- createBorder();
- }
- }
- if(_loc2_ || param1 == "borderStyle" || param1 == "backgroundColor" || param1 == "backgroundImage" || param1 == "mouseShield" || param1 == "mouseShieldChildren")
- {
- createBorder();
- }
- super.styleChanged(param1);
- if(_loc2_ || StyleManager.isSizeInvalidatingStyle(param1))
- {
- mx_internal::invalidateViewMetricsAndPadding();
- }
- if(_loc2_ || param1 == "horizontalScrollBarStyleName")
- {
- if(Boolean(horizontalScrollBar) && horizontalScrollBar is ISimpleStyleClient)
- {
- _loc3_ = getStyle("horizontalScrollBarStyleName");
- ISimpleStyleClient(horizontalScrollBar).styleName = _loc3_;
- }
- }
- if(_loc2_ || param1 == "verticalScrollBarStyleName")
- {
- if(Boolean(verticalScrollBar) && verticalScrollBar is ISimpleStyleClient)
- {
- _loc4_ = getStyle("verticalScrollBarStyleName");
- ISimpleStyleClient(verticalScrollBar).styleName = _loc4_;
- }
- }
- }
-
- private function createContentPaneAndScrollbarsIfNeeded() : Boolean
- {
- var _loc1_:Rectangle = null;
- var _loc2_:Boolean = false;
- if(_clipContent)
- {
- _loc1_ = mx_internal::getScrollableRect();
- _loc2_ = createScrollbarsIfNeeded(_loc1_);
- if(mx_internal::border)
- {
- updateBackgroundImageRect();
- }
- return _loc2_;
- }
- _loc2_ = createOrDestroyScrollbars(false,false,false);
- _loc1_ = mx_internal::getScrollableRect();
- scrollableWidth = _loc1_.right;
- scrollableHeight = _loc1_.bottom;
- if(_loc2_ && Boolean(mx_internal::border))
- {
- updateBackgroundImageRect();
- }
- return _loc2_;
- }
-
- override protected function updateDisplayList(param1:Number, param2:Number) : void
- {
- var _loc3_:Object = null;
- var _loc4_:Number = NaN;
- super.updateDisplayList(param1,param2);
- layoutChrome(param1,param2);
- if(scrollPositionChanged)
- {
- if(_horizontalScrollPosition < 0)
- {
- _horizontalScrollPosition = 0;
- }
- else if(_horizontalScrollPosition > maxHorizontalScrollPosition)
- {
- _horizontalScrollPosition = maxHorizontalScrollPosition;
- }
- if(Boolean(horizontalScrollBar) && horizontalScrollBar.scrollPosition != _horizontalScrollPosition)
- {
- horizontalScrollBar.scrollPosition = _horizontalScrollPosition;
- }
- if(_verticalScrollPosition < 0)
- {
- _verticalScrollPosition = 0;
- }
- else if(_verticalScrollPosition > maxVerticalScrollPosition)
- {
- _verticalScrollPosition = maxVerticalScrollPosition;
- }
- if(Boolean(verticalScrollBar) && verticalScrollBar.scrollPosition != _verticalScrollPosition)
- {
- verticalScrollBar.scrollPosition = _verticalScrollPosition;
- }
- scrollChildren();
- scrollPositionChanged = false;
- }
- if(scrollPropertiesChanged)
- {
- if(horizontalScrollBar)
- {
- horizontalScrollBar.lineScrollSize = horizontalLineScrollSize;
- horizontalScrollBar.pageScrollSize = horizontalPageScrollSize;
- }
- if(verticalScrollBar)
- {
- verticalScrollBar.lineScrollSize = verticalLineScrollSize;
- verticalScrollBar.pageScrollSize = verticalPageScrollSize;
- }
- scrollPropertiesChanged = false;
- }
- if(Boolean(mx_internal::contentPane) && Boolean(mx_internal::contentPane.scrollRect))
- {
- _loc3_ = enabled ? null : getStyle("backgroundDisabledColor");
- if(!_loc3_)
- {
- _loc3_ = getStyle("backgroundColor");
- }
- _loc4_ = getStyle("backgroundAlpha");
- if(!_clipContent || isNaN(Number(_loc3_)) || _loc3_ === "" || !(Boolean(horizontalScrollBar) || Boolean(verticalScrollBar)) && !cacheAsBitmap)
- {
- _loc3_ = null;
- }
- else if(getStyle("backgroundImage") || getStyle("background"))
- {
- _loc3_ = null;
- }
- else if(_loc4_ != 1)
- {
- _loc3_ = null;
- }
- mx_internal::contentPane.opaqueBackground = _loc3_;
- mx_internal::contentPane.cacheAsBitmap = _loc3_ != null;
- }
- }
-
- mx_internal function rawChildren_addChild(param1:DisplayObject) : DisplayObject
- {
- if(mx_internal::_numChildren == 0)
- {
- ++_firstChildIndex;
- }
- super.mx_internal::addingChild(param1);
- mx_internal::$addChild(param1);
- super.mx_internal::childAdded(param1);
- dispatchEvent(new Event("childrenChanged"));
- return param1;
- }
- }
- }
-
-